#include "ipc/Ftok.h"
#include "ipc/Cola.h"
#include "tcp/MensajeroTCP.h"
#include "log.h"
#include <stdlib.h>
#include <unistd.h>

#include <vector>

int main(int argc, char* argv[]){

    char path_ftok[1024];
    char *path;
    path = ftok_crear_archivo("servidor", path_ftok, 1024);
    if(!path){
	log("Error, no se pudo obtener el path para FTOK.\n");
	exit(-1);
    }

    Cola colaEmision(path, 1);
    Cola colaRecepcion(path, 2);

    std::vector<char> buffer;
    long id_emisor=0;
    while(colaRecepcion.recibir(0, buffer, id_emisor)){
	log("Saco un mensaje de la cola del emisor (%ld) y lo proceso.\n", id_emisor);
	log("%s", &buffer[0]);

	//Proceso el mensaje y si es necesario pongo un mensaje de
	//respuesta en la cola correspondiente
	
	//por ahora, un eco
	colaEmision.enviar(id_emisor, buffer);
	
    }

    log("El emisor finaliza.\n");
    return 0;
}
